tg-me.com/proglib_academy/2778
Last Update:
Когда код становится нечитаемым, проект сложно поддерживать, а новые фичи ломают старые — скорее всего, нарушены принципы архитектуры. Один из самых мощных наборов таких принципов — SOLID.
Каждый класс должен отвечать только за одну вещь.
Пример: если класс парсит JSON и пишет в базу — это две ответственности, значит, пора разбить.
Код открыт для расширения, но закрыт для изменения.
Пример: добавление новой фичи не должно требовать переписывания старого кода — лучше через интерфейс или абстракцию.
Подклассы должны работать вместо родительских, не ломая логику.
Пример: если унаследованный класс внезапно бросает исключения или ведёт себя иначе — нарушен LSP.
Много маленьких интерфейсов лучше одного большого.
Пример: не заставляйте класс реализовывать методы, которые ему не нужны.
Зависимости строятся на абстракциях, а не на конкретных реализациях.
Пример: не завязывайтесь на конкретный класс базы данных — работайте через интерфейс, который можно заменить.
SOLID — это основа хорошей архитектуры, которую стоит освоить как можно раньше.
Proglib Academy #буст